home *** CD-ROM | disk | FTP | other *** search
-
-
- IMAP2bis Perl5 Functions
- and Client Application
-
- R. Kooijman
-
- Version 0.6
-
-
-
- I needed software for a popclient-like mail retrieval application using
- IMAP2bis. I could not use popclient since I have more than one mailbox
- on my accounts and sometimes want to leave messages at the original
- sites (possibly flagged), plus we are running an IMAP server anyway (the
- one made by the University of Washington).
-
- So I started reading RFC1176 and the C-client library software by Mark
- Crispin. Foolishly enough, I decided to make my own software in Perl.
- The target application eventually will be a mail message synchronizer,
- but to do mailbox synchronisation reliably you need an IMAP4 server.
-
- The current version enables you to download unseen messages and leave
- them as they are (but seen) on the server, remove them, or flag them
- as important and possibly unseen again.
-
- The provided library functions enable you to program IMAP client
- software in Perl 5. I did not implement all IMAP2bis commands, only the
- most important ones, but there is enough support for the provided
- IMAP2bis mail downloader. The framework can be extended quite easily I
- think, and I will do that myself as soon as the IMAP4 server of the
- University of Washington comes out (and I canfind the time to make a
- real mailbox synchronizer for disconnected use).
-
- One drawback of the supplied client application is that it uses procmail
- as a delivery agent. I didn't make that configurable, but I am sure
- knowledgeable people can change the application quite easily to use
- other local delivery agents. Search for 'open(FORMAIL' around line 205.
- The suggestion you find there for Linux should work too (not tested!).
- Well, as I said knowledgeable people will get the idea.
-
- You have to examine the client application and the sources for
- information on how to use the library routines but I can give an
- overview of the command-line arguments (defaults are between brackets):
-
- imapsync -bdinqrx -e efficiency -h host -l limit -p port -t timeout -u user
-
- -b retrieve BODY[1] instead of RFC822.TEXT
- -d debug mode (off)
- -e efficiency setting, retrieve mail in batches (10)
- -h specify IMAP host (localhost)
- -i flag retrieved messages as important (off)
- -l only retrieve messages smaller than specified value (off)
- -n flag retrieved messages as new (off)
- -p specify IMAP port (143)
- -q quiet mode (off)
- -r delete retrieved messages (off)
- -t place timeout on reading lines (off)
- -u use another name to login (logged on user)
- -x expunge regularly after each batch of messages (off)
-
-
- Requirements:
-
- - Perl 5
- - procmail (used as a delivery agent in main application but
- this can be changed)
- - basically a UNIX OS that runs Perl 5 and procmail (or a mail
- delivery agent you can use)
-
-
- Installation:
-
- - install msg.pl and imap.pl in a directory that is searched for
- Perl libraries,
- - install imapsync in a directory that is in your search path,
- - edit a file in your home directory called .imapsyncrc and
- place the mailboxes in there which you want to be
- scanned for unseen messages.
-
-
- License:
-
- Public domain, but I appreciate it if you credit my name in any
- products you derive from this software.
-
-
- Disclaimer:
-
- This software is provided as-is. You can not hold me responsible
- for any damage to your mail.
-